package com.example.weather

import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import java.util.ArrayList

/**
 * @author Y7993
 * MainVM类用于管理天气应用的城市列表数据。
 */
class MainVM : ViewModel() {
    private var citylist: MutableLiveData<MutableList<String?>?>? = null

    /**
     * 获取城市列表的可变实时数据。
     * 如果尚未初始化，则创建一个新的城市列表并添加默认城市“北京”。
     * @return 包含城市名称的MutableLiveData对象
     */
    fun getCitylist(): MutableLiveData<MutableList<String?>?>? {
        if (citylist == null) {
            citylist = MutableLiveData<MutableList<String?>?>()
            val lst: MutableList<String?> = ArrayList<String?>()
            lst.add("北京")
            citylist!!.value = lst
        }
        return citylist
    }

    /**
     * 设置新的城市列表。
     * @param citylist 新的城市名称列表
     */
    fun setCitylist(citylist: MutableList<String?>?) {
        getCitylist()!!.value = citylist
    }
}
